global_defs {

}
vrrp_sync_group VG1 {
  group {
 {% for vrrp in vrrpList %}
    {{vrrp.name}}
 {% endfor %}
   }
}

{% for vrrp in vrrpList %}
vrrp_instance {{vrrp.name}} {
    state {{vrrp.state}}
    nopreempt
    interface {{vrrp.interface}}
    virtual_router_id {{vrrp.routeId}}
    priority {{vrrp.priority}}
    advert_int 1
    virtual_ipaddress {
        {{vrrp.vip}}
    }
}
{% endfor %}